From c7b3e5e95f03b769498f6c478fb28417e3c05c7b Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Mon, 12 Dec 2016 17:33:12 +0300 Subject: [PATCH] Warn if replace is not actually used closes #3324 --- src/cargo/ops/cargo_compile.rs | 8 ++++++++ tests/overrides.rs | 1 + 2 files changed, 9 insertions(+) diff --git a/src/cargo/ops/cargo_compile.rs b/src/cargo/ops/cargo_compile.rs index e3b22f9d8..a4c3f1c6d 100644 --- a/src/cargo/ops/cargo_compile.rs +++ b/src/cargo/ops/cargo_compile.rs @@ -163,6 +163,14 @@ pub fn resolve_dependencies<'a>(ws: &Workspace<'a>, method, Some(&resolve), None, &specs)?; + for &(ref replace_spec, _) in ws.root_replace() { + if !resolved_with_overrides.replacements().keys().any(|r| replace_spec.matches(r)) { + ws.config().shell().warn( + format!("package replacement is not used: {}", replace_spec) + )? + } + } + let packages = ops::get_resolved_packages(&resolved_with_overrides, registry); diff --git a/tests/overrides.rs b/tests/overrides.rs index d92f81791..720a03cce 100644 --- a/tests/overrides.rs +++ b/tests/overrides.rs @@ -922,6 +922,7 @@ fn overriding_nonexistent_no_spurious() { execs().with_status(0)); assert_that(p.cargo("build"), execs().with_status(0).with_stderr("\ +[WARNING] package replacement is not used: [..]bar:0.1.0 [FINISHED] [..] ").with_stdout("")); } -- 2.30.2